package com.star.oauth2.client.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 首页控制器
 * 
 * @author star
 */
@Controller
public class IndexController {

    /**
     * 首页 - 展示OAuth2授权引导
     * 
     * @param authorized 是否已授权标记
     * @param error 错误信息标记
     * @param model 模型
     * @return 首页视图
     */
    @GetMapping("/")
    public String index(
            @RequestParam(required = false) String authorized,
            @RequestParam(required = false) String error,
            Model model) {
        
        // 检查是否有错误信息
        String errorMessage = (String) model.asMap().get("oauth2_error");
        if (errorMessage != null || error != null) {
            model.addAttribute("errorMessage", errorMessage != null ? errorMessage : "授权过程中发生错误");
        }
        
        // 如果授权成功
        if ("true".equals(authorized)) {
            model.addAttribute("successMessage", "授权成功！即将进入消息管理系统。");
        }
        
        return "index";
    }
}